package com.denlaku.longan.repository;

import com.denlaku.longan.anno.VarOp;
import com.denlaku.longan.dao.TenantDao;
import com.denlaku.longan.vo.Tenant;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author tianx
 */
@Repository
public class TenantRepository {
    @Autowired
    private TenantDao tenantDao;

    /**
     * 查询租户
     *
     * @param tenant 查询参数
     * @return 租户列表
     */
    public List<Tenant> list(Tenant tenant) {
        return tenantDao.list(tenant);
    }

    /**
     * 查询租户列表
     *
     * @param userId 用户ID
     * @return 租户列表
     */
    public List<Tenant> ownedList(Long userId) {
        return tenantDao.ownedList(userId);
    }

    /**
     * 根据id获取租户
     *
     * @param id 租户id
     * @return 租户
     */
    public Tenant get(Long id) {
        return tenantDao.get(id);
    }

    /**
     * 新增租户
     *
     * @param tenant 租户
     */
    @VarOp
    public void add(Tenant tenant) {
        tenantDao.add(tenant);
    }

    /**
     * 更新租户
     *
     * @param tenant 租户
     */
    @VarOp
    public void update(Tenant tenant) {
        tenantDao.update(tenant);
    }

    /**
     * 删除租户
     *
     * @param id 租户id
     */
    public void delete(Long id) {
        tenantDao.delete(id);
    }

    /**
     * 禁用租户
     *
     * @param tenant 租户
     */
    public void disabled(Tenant tenant) {
        tenantDao.disabled(tenant);
    }

    /**
     * 启用租户
     *
     * @param tenant 租户
     */
    public void enabled(Tenant tenant) {
        tenantDao.enabled(tenant);
    }

}
